package com.qf.controller;

import org.apache.shiro.authz.annotation.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author lixu
 */
@Controller
public class AdminController {

    /**
     *  #/admin/** = roles["管理员"]
     *
     *  @Requires  require 需要
     *  Roles()    Roles： 角色们
     *
     * 开启下面的这个注解
     *
     *  @RequiresRoles(value = {"管理员","超级管理员"},logical = Logical.AND)
     *      当前请求的用户必须 即满足：管理员身份 又是父亲身份 双重身份 才有资源 访问当前资源
     *  @RequiresRoles(value = {"管理员","父亲"},logical = Logical.OR)、
     *    当前请求的用户必须 只满足一个身份即可  访问当前资源
     *      @RequiresPermissions(value = {"sys:user:find","sys:user:manager"},logical = Logical.OR)
     *     @RequiresAuthentication//要求必须使用用户名密码这种方式
     *     @RequiresUser //记住我登录也算
     *     @RequiresGuest //来宾 ： 不需要登录
     * @return
     */
    //管理员身份才能访问的资源
    @GetMapping("/admin/manager")
    @RequiresRoles(value = {"管理员","父亲"},logical = Logical.OR)
    @ResponseBody
    public String manager(){


        return "admin:OK";
    }
    @GetMapping("/user/manager")
    @RequiresPermissions(value = {"sys:user:find","sys:user:manager"},logical = Logical.OR)
/*    @RequiresAuthentication//要求必须使用用户名密码这种方式
    @RequiresUser //记住我登录也算
    @RequiresGuest //来宾 ： 不需要登录 */
    @ResponseBody
    public String manager1(){


        return "user:OK";
    }

}
